Ranking is a very popular machine learning problem that is applied in many contexts. Ranking can be applied to, for example, the restaurants in a city, a list of videos, a list of songs, etc. This problem can be solved by using machine learning technologies to learn a ranking model from a training dataset. One example of a training dataset is a set of ground truth pairs (xi(1), xi(2)), where xi(1) is “better” than xi(2), where each sample xi is a restaurant, video, song, etc. Given a new list of samples, the ranking model can predict a score for each of them, and the list can be ranked according to the ranking score.
Some ranking problems attempt to make predictions about subjective tastes. For example, user preferences regarding videos tend to be very subjective. A person who owns a dog might prefer to watch funny videos about dogs while a cat owner might prefer to watch funny videos about cats. For these kinds of ranking problems, personalized ranking models, which attempt to take user preference into consideration when learning the ranking model, may perform better than generalized ranking models.
Some existing personalized ranking algorithms treat personalized ranking problems in the same manner as general ranking problems, except that they extend the ground truth pairs to (xi(1)+userj, xi(2)+userj), and learn a global ranking model for all users. In these types of systems: 1) the model size must be very big to be discriminative enough for each user if the number of users is large-scale; and 2) a large number of training samples are needed if the user information is very limited. In real systems, it is common for the user information to be limited, because many users do not log in and the systems fail to accumulate user information.
Other existing personalized ranking algorithms first cluster the users into categories and then learn a smaller ranking model for each category of users. When the user information is limited, however, it is difficult to extract good user features for clustering.